<template>
  <Layout>
    <div class="navBar">
      <Icon class="leftIcon" name="left" @click="goBack"/>
      <span class="title">编辑标签</span>
      <span class="rightIcon"/>
    </div>
    <div class="form-wrapper">
      <FormItem :value="currentTag.name" @update:value="update" 
                fileName="标签名" placehoder="请输入标签名" />
    </div>
    <div class="button-wrapper">
      <Button @click="remove">删除标签</Button>
    </div>
  </Layout>
</template>

<script lang="ts">
import Vue from 'vue'
import { Component } from 'vue-property-decorator'
import FormItem from '@/components/Money/FormItem.vue'
import Button from '@/components/Button.vue'

@Component({ components: { FormItem, Button } })
export default class EditLabel extends Vue {
  get currentTag() {
    return this.$store.state.currentTag;
  }
  
  created() {
    const id = this.$route.params.id;
    this.$store.commit('fetchTags');
    this.$store.commit('setCurrentTag', id);
    if (!this.currentTag) {
      this.$router.replace('/404')
    }
  }

  update(name: string){
    if(this.currentTag){
      if(!name){
        alert('标签名不能为空')
      }else{
        this.$store.commit('updateTag', {
        id: this.currentTag.id, name
      });
      }
    }
  }
  remove(){
    if(this.currentTag){
      this.$store.commit('removeTag', this.currentTag.id);
    }
  }
  goBack(){
    this.$router.back();
  }
}
</script>

<style lang="scss" scoped>
  .navBar {
    text-align: center;
    font-size: 16px;
    padding: 12px 16px;
    background: white;
    display: flex;
    align-items: center;
    justify-content: space-between;
    > .title {
    }
    > .leftIcon {
      width: 24px;
      height: 24px;
    }
    > .rightIcon {
      width: 24px;
      height: 24px;
    }
  }
  .form-wrapper {
    background: white;
    margin-top: 8px;
  }
  .button-wrapper {
    text-align: center;
    padding: 16px;
    margin-top: 44-16px;
  }
</style>
